//***********************************************************************
//	File:		Anklebiter.h
//	Author:		
//	Course:		SGP 1405
//	Purpose:	
//***********************************************************************
//***********************************************************************
//	Purposfully left blank for all comments regarding this file 
//	
//	
//	
//***********************************************************************



#pragma once
#include "Enemy.h"
#include "../SGD Wrappers/SGD_Listener.h"

class Anklebiter :
	public Enemy, public SGD::Listener
{
public:
	//Trilogy
	Anklebiter(float posX = 0, float posY = 0);
	~Anklebiter();
	Anklebiter(const Anklebiter&) = default; 
	Anklebiter& operator =(const Anklebiter&) = default; 

	//Type
	int GetType() const { return ENT_ANKLEBITER; }

	//Interface
	void Update(float dt);
	void Render();
	void HandleCollision(const IEntity* pOther);
	void HandleEvent(const SGD::Event* pEvent);
	SGD::Rectangle GetRect() const;
	void ModifyHealth(float hpAmount);
	void ApplyFriction(float dt);

	void Attack(float dt);
	void Move(void);

	//Accessors
	float GetDamage(void) { return m_fDamage; }
	float GetAttackCDL(void) { return m_fAttackCDL;  }

	//Mutators
	void SetDamage(float dam) { m_fDamage = dam; }
	void SetAttackCDL(float aCDL) { m_fAttackCDL = aCDL; }

private:
	float m_fDamage = 0.0f;
	float m_fAttackCDL = 0.0f; 
	
};

